class_name ExtraAttributesComponent
extends Node
#按照网游的道理来说，一切玩家状态都应该由主机来处理
#我们这个不是那个标准，这里的人物属性 累计就由客户端统计好，传给服务器了
#安全室一方面，另一方面后果是服务器无法存储玩家装备。考虑先别搞那么复杂，先这样吧，日后优化点

@export_group("初始属性")
@export var attack_damage_base = 0.0
@export var magic_damage_base  = 0.0
@export var health_base  = 0.0
@export var magic_base  = 0.0
@export var attack_defult_base  = 0.0
@export var magic_defult_base  = 0.0

#当前属性
var attack_damage_current = 0.0
var magic_damage_current  = 0.0
var health_current  = 0.0
var magic_current  = 0.0
var attack_defult_current  = 0.0
var magic_defult_current  = 0.0



#结算基础属性增加值
func growth(plus:EquipItem):
	if plus:
		attack_damage_base += plus.attack_damage_growth
		magic_damage_base += plus.magic_damage_growth
		health_base += plus.health_growth
		magic_base += plus.magic_growth
		attack_defult_base += plus.attack_defult_growth
		magic_defult_base += plus.magic_defult_growth
	
	
#统计当前
func current(plus:EquipItem):
	if plus:
		attack_damage_current = (attack_damage_base + plus.attack_damage) * (1 + plus.attack_damage_rate)
		magic_damage_current  =(magic_damage_base + plus.magic_damage) * (1 + plus.magic_damage_rate)
		health_current  = (health_base + plus.health) * (1 + plus.health_rate)
		magic_current  = (magic_base + plus.magic) * (1 + plus.magic_rate)
		attack_defult_current  = (attack_defult_base + plus.attack_defult) * (1 + plus.attack_defult_rate)
		magic_defult_current  = (magic_defult_base + plus.magic_defult) * (1 + plus.magic_defult_rate)
